KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I declared a variable $myString with the value '3 ' (notice the white space). Is there any function to remove the white space for the return value? A little like SomeFun($myString) then return '3' (without white space). #!C:\Perl\bin\perl.exe use strict; use warnings; use Data::Dumper; my $fh = \*DATA; print Dumper parse_constant_spec( $fh ); # Parse a constant spec file. # Pass in a handle to process. # As long as it acts like a file handle, it will work. sub parse_constant_spec { my $fh = shift; my %spec; # Until file is done: # Read in a whole block while( my $block = read_block($fh) ) { # Parse the and return key/value pairs for a hash. my %constant = parse_block( $block ); # Store a ref to the hash in a big hash of all blocks, keyed by constant_name. $spec{ $constant{const_name} } = \%constant; } # Return ref to big hash with all block data return \%spec; } # Read a constant definition block from a file handle. # void return when there is no data left in the file. # Otherwise return an array ref containing lines to in the block. sub read_block { my $fh = shift; my @lines; my $block_started = 0; while( my $line = <$fh> ) { $block_started++ if $line =~ /^constant/; if( $block_started ) { last if $line =~ /^\s*$/; push @lines, $line; } } return \@lines if @lines; return; } sub parse_block { my $block = shift; my ($start_line, @attribs) = @$block; my %constant; # Break down first line: # First separate assignment from option list. my ($start_head, $start_tail) = split /=/, $start_line; # work on option list my @options = split /\s+/, $start_head; # Recover constant_name from options: $constant{const_name} =
Tags (comma-separated)
Save Edits
Cancel