From 7454241e57e2c2bfbd185ec25e9071217e60a37f Mon Sep 17 00:00:00 2001 From: Alex 'AdUser' Z Date: Tue, 21 Apr 2015 11:51:42 +1000 Subject: [PATCH] + Playlist::PLS->dump --- lib/Playlist/PLS.pm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/lib/Playlist/PLS.pm b/lib/Playlist/PLS.pm index 2d9a021..cbcc22c 100644 --- a/lib/Playlist/PLS.pm +++ b/lib/Playlist/PLS.pm @@ -70,4 +70,31 @@ sub load { return $self->items; } +sub dump { + my ($self) = @_; + my $count = 0; + my @lines = ('[playlist]'); + + foreach my $item ($self->items) { + $count += 1; + foreach my $key (qw(file title length)) { + push @lines, sprintf("%s%d=%s", ucfirst($key), $count, $item->{$key}); + } + } + + splice(@lines, 1, 0, sprintf("numberofentries=%d", $count)); + push @lines, "Version=2", ""; + return join("\n", @lines); +} + +sub save { + my ($self, $file) = @_; + + open(my $FH, ">", $file) or die $!; + print $FH $self->dump(); + close($FH); + + return 1; +} + 1;