Search Results

Search found 3541 results on 142 pages for 'idiomatic perl'.

Page 54/142 | < Previous Page | 50 51 52 53 54 55 56 57 58 59 60 61  | Next Page >

  • How can I kill a Perl system call after a timeout?

    - by Fergal
    I've got a Perl script I'm using for running a file processing tool which is started using backticks. The problem is that occasionally the tool hangs and It needs to be killed in order for the rest of the files to be processed. Whats the best way best way to apply a timeout after which the parent script will kill the hung process? At the moment I'm using: foreach $file (@FILES) { $runResult = `mytool $file >> $file.log`; } But when mytool hangs after n seconds I'd like to be able to kill it and continue to the next file.

    Read the article

  • How can I run Perl system commands in the background?

    - by sid_com
    #!/usr/bin/env perl use warnings; use strict; use 5.012; use IPC::System::Simple qw(system); system( 'xterm', '-geometry', '80x25-5-5', '-bg', 'green', '&' ); say "Hello"; say "World"; I tried this to run the xterm-command in the background, but it doesn't work: No absolute path found for shell: & What would be the right way to make it work?

    Read the article

  • How can I get the path separator in Perl?

    - by ram
    In case of Java, we can get the path separator using System.getProperty("path.separator"); Is there a similar way in Perl? All I want to do is to find a dir, immediate sub directory. Say I am being given two arguments $a and $b; I am splitting the first one based on the path separator and joining it again except the last fragment and comparing with the second argument. The problem is my code has to be generic and for that I need to know whats the system dependent path separator is?

    Read the article

  • Why do I get strange output from Perl using SQL?

    - by benjamin button
    Here is my Perl code: foreach my $line (@tmp_field_validation) { chomp $line; my ($cycle_code,$cycle_month,$cycle_year)= split /\s*\|\s*/, $line; $cycle_code=~ s/^\s*(.*)\s*$/$1/; $cycle_month=~ s/^\s*(.*)\s*$/$1/; $cycle_year=~ s/^\s*(.*)\s*$/$1/; print "$line\n"; print "$cycle_code|$cycle_month|$cycle_year"; } Here is the output: 1 10 2009 1 10 2009|| What's wrong over here? I expected the pipes to be between the variables. Why are the pipes getting printed after all the three variables?

    Read the article

  • Perl: How do I extract certain bits from a byte and then covert these bits to a hex value?

    - by Siegfried Hepp
    I need to extract certain bits of a byte and covert the extract bits back to a hex value. Example (the value of the byte is 0xD2) : 76543210 bit position 11010010 is 0xD2 Bit 0-3 defines the channel which is 0010b is 0x2 Bit 4-5 defines the controller which is 01b is 0x1 Bit 6-7 defines the port which is 11b is 0x3 I somehow need to get from the byte is 0xD2 to channel is 0x2, controller is 0x1, port is 0x3 I googled allot and found the functions pack/unpack, vec and sprintf. But I'm scratching by head how to use the functions to achieve this. Any idea how to achieve this in Perl ?

    Read the article

  • Why does Perl complain "Can't modify constant item in scalar assignment"?

    - by joe
    I have this Perl subroutine that is causing a problem: sub new { my $class = shift; my $ldap_obj = Net::LDAP->new( 'test.company.com' ) or die "$@"; my $self = { _ldap = $ldap_obj, _dn ='dc=users,dc=ldap,dc=company,dc=com', _dn_login = 'dc=login,dc=ldap,dc=company,dc=com', _description ='company', }; # Print all the values just for clarification. bless $self, $class; return $self; } what is wrong on this code : i got this error Can't modify constant item in scalar assignment at Core.pm line 12, near "$ldap_obj,"

    Read the article

  • How can I convert SQL comments with -- to # using Perl?

    - by NJTechie
    I have various SQL files with '--' comments and we migrated to the latest version of MySQL and it hates these comments. I want to replace -- with #. I am looking for a recursive, inplace replace one-liner. This is what I have: perl -p -i -e 's/--/# /g'` ``fgrep -- -- * A sample .sql file: use myDB; --did you get an error I get the following error: Unrecognized switch: --did (-h will show valid options). p.s : fgrep skipping 2 dashes was just discussed here if you are interested. Any help is appreciated.

    Read the article

  • How can I use Perl to scrape a website that reveals its content with JavaScript?

    - by AmbroseChapel
    I need to write a Perl script to scrape a website. The website can only be scraped with JavaScript, and the user is on Windows. I got some way with Win32::IE::Mechanize on my work machine, which has IE6, but then I moved to my netbook which has IE8, and can't even get as far as fetching a simple page. Is Win32::IE::Mechanize up to date with the latest versions of IE? But, more to the point, given a recent WinXP machine, what's the quickest, easiest way to scrape a site which only reveals its content via JavaScript?

    Read the article

  • Is my Perl script grabbing environment variabless from "someplace else"?

    - by Michael Wilson
    On a Solaris box in a "mysterious production system" I'm running a Perl script that references an environment variable. No big deal. The contents of that variable from the shell both pre- and post-execution are what I expect. However, when reported by the script, it appears as though it's running in some other sub-shell which is clobbering my vars with different values for the duration of the script. Unfortunately I really can't paste the code. I'm trying to get an atomic case, but I'm at my wit's end here.

    Read the article

  • How can I convert floating point values in text to binary using Perl?

    - by YoDar
    I have text file looks like that: float a[10] = { 7.100000e+000 , 9.100000e+000 , 2.100000e+000 , 1.100000e+000 , 8.200000e+000 , 7.220000e+000 , 7.220000e+000 , 7.222000e+000 , 1.120000e+000 , 1.987600e+000 }; unsigned int col_ind[10] = { 1 , 4 , 3 , 4 , 5 , 2 , 3 , 4 , 1 , 5 }; Now, I want to convert each array (float / unsigned int) to different binary files - big endian type. Binary file for all float values and binary file for all integer values. What is the simple way to do it in Perl, consider I have over 2 millon elements in each array?

    Read the article

  • How can I send an html email with perl?

    - by alexBrand
    I am trying to send an HTML email using perl. open(MAIL,"|/usr/sbin/sendmail -t"); ## Mail Header print MAIL "To: $to\n"; print MAIL "From: $from\n"; print MAIL "Subject: $subject\n\n"; ## Mail Body print MAIL "Content-Type: text/html; charset=ISO-8859-1\n\n<html><head></head><body>@emailBody"; close(MAIL) Is that the correct way of doing it? It is not working for some reason. Thanks for your help.

    Read the article

  • Why does Perl allow mutual "use" relationships between modules?

    - by Haiyuan Zhang
    Let's say there are two modules that mutually use each other: package a; use b; sub p {} 1; package b; use a; 1; I think that it is systematically wrong to write code like the above, because the two modules will endlessly copy each other's code to themselves, but I can successfully run the following code, which makes me very surprised. Could any of you explain all of this to me? #! /usr/bin/perl use a; a->p();

    Read the article

  • How can I debug a Perl program that suddenly exits?

    - by taw
    I have Perl program based on IO::Async, and it sometimes just exits after a few hours/days without printing any error message whatsoever. There's nothing in dmesg or /var/log either. STDOUT/STDERR are both autoflush(1) so data shouldn't be lost in buffers. It doesn't actually exit from IO::Async::Loop->loop_forever - print I put there just to make sure of that never gets triggered. Now one way would be to keep peppering the program with more and more prints and hope one of them gives me some clue. Is there better way to get information what was going on in a program that made it exit/silently crash?

    Read the article

  • Perl: Why does "use strict" not let me pass a parameter hash?

    - by Thariama
    I hava a perl subroutine where i would like to pass parameters as a hash (the aim is to include a css depending on the parameter 'iconsize'). I am using the call: get_function_bar_begin('iconsize' => '32'); for the subroutine get_function_bar_begin: use strict; ... sub get_function_bar_begin { my $self = shift; my %template_params = %{ shift || {} }; return $self->render_template('global/bars /tmpl_incl_function_bar_begin.html',%template_params); } Why does this yield the error message: Error executing run mode 'start': undef error - Can't use string ("iconsize") as a HASH ref while "strict refs" in use at CheckBar.pm at line 334 Am i doing something wrong here? Is there an other way to submit my data ('iconsize') as a hash?

    Read the article

  • In Perl, can I limit the length of a line as I read it in from a file (like fgets)

    - by SB
    I'm trying to write a piece of code that reads a file line by line and stores each line, up to a certain amount of input data. I want to guard against the end-user being evil and putting something like a gig of data on one line in addition to guarding against sucking in an abnormally large file. Doing $str = <FILE> will still read in a whole line, and that could be very long and blow up my memory. fgets lets me do this by letting me specify a number of bytes to read during each call and essentially letting me split one long line into my max length. Is there a similar way to do this in perl? I saw something about sv_gets but am not sure how to use it (though I only did a cursory Google search). Thanks.

    Read the article

  • How to output list of float text to binary file in Perl ?

    - by YoDar
    Hi, I have text file looks like that: float a[10] = { 7.100000e+000 , 9.100000e+000 , 2.100000e+000 , 1.100000e+000 , 8.200000e+000 , 7.220000e+000 , 7.220000e+000 , 7.222000e+000 , 1.120000e+000 , 1.987600e+000 }; unsigned int col_ind[10] = { 1 , 4 , 3 , 4 , 5 , 2 , 3 , 4 , 1 , 5 }; Now, I want to convert each array (float / unsigned int) to different binary files - big endian type. Binary file for all float values and binary file for all integer values. What is the simple way to do it in Perl, consider I have over 2 millon elements in each array? Thanks, Yodar.

    Read the article

  • How do we match any single character including line feed in Perl regular expression?

    - by bobo
    I would like to use UltraEdit regular expression (perl) to replace the following text with some other text in a bunch of html files: <style type="text/css"> #some-id{} .some-class{} //many other css styles follow </style> I tried to use <style type="text/css">.*</style> but of course it wouldn't match anything because the dot matches any character except line feed. I would like to match line feed as well and the line feed maybe either \r\n or \n. How should the regular expression look like? Many thanks to you all.

    Read the article

  • How can I map URLs to filenames with perl?

    - by eugene y
    In a simple webapp I need to map URLs to filenames or filepaths. This app has a requirement that it can depend only on modules in the core Perl ditribution (5.6.0 and later). The problem is that filename length on most filesystems is limited to 255. Another limit is about 32k subdirectories in a single folder. My solution: my $filename = $url; if (length($filename) > $MAXPATHLEN) { # if filename longer than 255 my $part1 = substr($filename, 0, $MAXPATHLEN - 13); # first 242 chars my $part2 = crypt(0, substr($filename, $MAXPATHLEN - 13)); # 13 chars hash $filename = $part1.$part2; } $filename =~ s!/!_!g; # escape directory separator Is it reliable ? How can it be improved ?

    Read the article

  • Is it good practice to export variables in Perl?

    - by gvkv
    I'm finding it very convenient to pass configuration and other data that is read or calculated once but then used many times throughout a program by using Perl's use mechanism. I'm doing this by exporting a hash into the caller's namespace. For example: package Myconfiguration; my %config; sub import { my $callpkg = caller(0); my $expsym = $_[1]; configure() unless %config; *{"$callpkg\::$expsym"} = \%config; } and then in other modules: use MyConfiguration (loc_config_sym); if ( $loc_config_sym{paramater} ) { # ... do stuff ... } However, I'm not sure about this as a best practice. Is it better to add a method that returns a hash ref with the data? Something else?

    Read the article

  • In Perl, how can I iterate over the Cartesian product of multiple sets?

    - by nubie2
    I want to do permutation in Perl. For example I have three arrays: ["big", "tiny", "small"] and then I have ["red", "yellow", "green"] and also ["apple", "pear", "banana"]. How do I get: ["big", "red", "apple"] ["big", "red", "pear"] ..etc.. ["small", "green", "banana"] I understand this is called permutation. But I am not sure how to do it. Also I don't know how many arrays I can have. There may be three or four, so I don't want to do nested loop.

    Read the article

  • Why does Term::Size seem to mess up Perl's output encoding?

    - by sid_com
    Hello! The Term::Size-module jumbles up the encoding. How can I fix this? #!/usr/bin/env perl use warnings; use strict; use 5.010; use utf8; binmode STDOUT, ':encoding(UTF-8)'; use Term::Size; my $string = 'Hällö'; say $string; my $columns = ( Term::Size::chars *STDOUT{IO} )[0]; say $columns; say $string; Output: Hällö 140 H?ll?

    Read the article

  • mature, powerful Perl library to support text/string operation ?

    - by user534009
    Do we have a mature, powerful Perl library to support text/string operation ? for example, if I need to trim a string, I need to write a function like below. Then question is, do we have an existing API so that I can import and call it ? just like StringUtils.trim(s) in Apache Common Lang. Thanks. sub trim($) { my $string = shift; $string =~ s/^\s+//; $string =~ s/\s+$//; return $string; }

    Read the article

  • What's the fastest way to get directory and subdirs size on unix using Perl?

    - by ivicas
    I am using Perl stat() function to get the size of directory and its subdirectories. I have a list of about 20 parent directories which have few thousand recursive subdirs and every subdir has few hundred records. Main computing part of script looks like this: sub getDirSize { my $dirSize = 0; my @dirContent = <*>; my $sizeOfFilesInDir = 0; foreach my $dirContent (@dirContent) { if (-f $dirContent) { my $size = (stat($dirContent))[7]; $dirSize += $size; } elsif (-d $dirContent) { $dirSize += getDirSize($dirContent); } } return $dirSize; } The script is executing for more than one hour and I want to make it faster. I was trying with the shell du command, but the output of du (transfered to bytes) is not accurate. And it is also quite time consuming. I am working on HP-UNIX 11i v1.

    Read the article

  • How do I filter or retain duplicates in Perl?

    - by manu
    I have one text string which is having some duplicate characters (FFGGHHJKL). These can be made unique by using the positive lookahead: $ perl -pe 's/(.)(?=.*?\1)//g'] For example, with "FFEEDDCCGG", the output is "FEDCG". My question is how to make it work on the numbers (Ex. 212 212 43 43 5689 6689 5689 71 81 === output should be 212 43 5689 6689 71 81) ? Also if we want to have only duplicate records to be given as the output from a file having n rows 212 212 43 43 5689 6689 5689 71 81 66 66 67 68 69 69 69 71 71 52 .. Output: 212 212 43 43 5689 5689 66 66 69 69 69 71 71 How can I do this?

    Read the article

  • How do I call Informix stored procedures from Perl?

    - by superjtc
    How do I call informix stored procedures from Perl? I use DBD::ODBC to connect to informix database, but I don't know how to call procedures. my code like this: my $dbh=DBI->connect("dbi:".DBDRIVE.":".DBNAME,DBUSER,DBPASS,{RaiseError=>0,PrintError=>0,AutoCommit=>1}) ||die $DBI::errstr; $dbh->do("execute procedure sp_test('2010-05-01 00:00:00')") || warn "failed\n"; $dbh->disconnect(); when I run it, it didn't get error. But I get nothing when I check the database. the store procedure works fine if I run it in database directly. Anyone can help me out?

    Read the article

< Previous Page | 50 51 52 53 54 55 56 57 58 59 60 61  | Next Page >