[Chicago-talk] messy scalar into an array.
David J. Young
younda at gmail.com
Tue Mar 2 07:33:17 PST 2010
I have no idea what your faxstat -r output looks like, but why no collapse
all of the white space down to single spaces, then you can split on the
singles space:
$line =~ s/\s+/ /g;
then you can split on the single space.
DB<3> $line = 'a b c d e f';
DB<4> $a=$line
DB<5> $a =~ s/\s+/ /g;
DB<6> p $a
a b c d e f
DB<7> @a=split(" ", $a);
DB<8> x @a
0 'a'
1 'b'
2 'c'
3 'd'
4 'e'
5 'f'
ydy
On Tue, Mar 2, 2010 at 8:46 AM, Richard Reina <richard at rushlogistics.com>wrote:
> I'm sorry for asking what likely should be a simple question but after
> spending a fair amount of time playing with qw(), split(), join(), etc. I
> still have not figured it out.
>
> I have some fairly messy system output which I have managed to isolate into
> a scalar with
>
> use strict;
> my @received = `faxstat -r`;
>
> I can't figure out how to neatly get this into an array so I can get the
> output into a database table;
>
> I've gotten this far;
>
> my $line;
> my @fax;
>
> foreach $line (@received) {
>
> if (substr($line,0,5) eq "-rw---") { # make sure it's an actual fax
> # and not the title of the output
> chomp($line);
> }
> }
>
> $line is exactly what I want but it's in the form of a scalar; When I try
> to split it up into elements of an array with @fax=split("", $line); it does
> not work due to all the back to back white spaces. If anyone can help me
> out with a better way to do this I would really appreciate it.
>
> Thanks,
>
> Richard
> _______________________________________________
> Chicago-talk mailing list
> Chicago-talk at pm.org
> http://mail.pm.org/mailman/listinfo/chicago-talk
>
--
I take the "Shhhh" out of IT - ydy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/chicago-talk/attachments/20100302/1b9b26bc/attachment.html>
More information about the Chicago-talk
mailing list